]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
checkbox: Improve accessibility of check boxes for Orca users
authorLuke Yelavich <themuso@themuso.com>
Sun, 29 Mar 2020 01:42:44 +0000 (12:42 +1100)
committerFlorian Müllner <florian.muellner@gmail.com>
Sun, 29 Mar 2020 12:56:33 +0000 (12:56 +0000)
Set the label actor, so Orca presents the label text when the check box
has focus. Also change the role to ATK_ROLE_CHECKBOX.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2517

js/ui/checkBox.js

index 5b3c842a4d8b4e7f65496ffd4e6f36a36bc0e395..d64bd0d6c23634db3bea70b69d5555a439d48987 100644 (file)
@@ -1,5 +1,5 @@
 /* exported CheckBox */
-const { Clutter, GObject, Pango, St } = imports.gi;
+const { Atk, Clutter, GObject, Pango, St } = imports.gi;
 
 var CheckBox = GObject.registerClass(
 class CheckBox extends St.Button {
@@ -15,6 +15,7 @@ class CheckBox extends St.Button {
             toggle_mode: true,
             can_focus: true,
         });
+        this.set_accessible_role(Atk.Role.CHECK_BOX);
 
         this._box = new St.Bin({ y_align: Clutter.ActorAlign.START });
         container.add_actor(this._box);
@@ -22,6 +23,7 @@ class CheckBox extends St.Button {
         this._label = new St.Label({ y_align: Clutter.ActorAlign.CENTER });
         this._label.clutter_text.set_line_wrap(true);
         this._label.clutter_text.set_ellipsize(Pango.EllipsizeMode.NONE);
+        this.set_label_actor(this._label);
         container.add_actor(this._label);
 
         if (label)